Controlling a device may be broadly grouped into local and remote control. Local control of a device may be possible by a mechanism ranging, for example, from a simple switch (e.g. a light switch) to a computer controlled device (e.g. a computer terminal). Such local control is often activated by a human in close proximity to the device. In such cases, the device must be able to support the human inputs and be capable of displaying a result or feedback to guide the user. Often the human input requires that the device be much more “complicated” than its basic function. For example, a vending machine dispenses product, however the user interface may require a keypad, a coin/bill changer, a user display (e.g. for coins deposited), etc. Thus the “view” of the vending machine and the “control” of the machine are tightly coupled, especially from the viewpoint of the user. That is, the user believes that they are directly in control of the vending machine.
A remotely controlled device on the other hand, may have a “remote” user interface that still interfaces directly into the controlled device. Thus, the “remote” control is little more than an “extension cord” connected between the device and the user input device. The device must still process the user inputs. This remote control is tightly coupled to the device and thus may be “complicated” beyond its primary function. This presents a problem.